package com.kmxd.ams.client.archive.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.v3.oas.annotations.media.Schema;

/**
* <p>
* 知悉范围
* </p>
*
* @author nickbi
* @since 2024-01-08
*/
@Schema(description = "知悉范围对象")
@Data
public class ArchiveAuthQueryDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    private Long fondsId;

    private Long comId;

    /** 按单位过滤 */
    @Schema(description = "按单位过滤")
    private Boolean authDepartment;

    /** 按创建人过滤 */
    @Schema(description = "按创建人过滤")
    private Boolean authUser;

    /** 门类id */
    @Schema(description = "门类id")
    private Long archTypeId;

    /** 类型:1知悉范围内,2知悉范围外,3外单位 */
    @Schema(description = "类型:1知悉范围内,2知悉范围外,3外单位")
    private Integer scopeType;

    /** 在线浏览，有权限为1，没有权限为0 */
    @Schema(description = "在线浏览，有权限为1，没有权限为0")
    private Boolean onlineBrowser;

    /**  在线浏览，有权限为1，没有权限为0 */
    @Schema(description = "原文浏览，有权限为1，没有权限为0")
    private Boolean browserFile;

    /** 在线打印，有权限为1，没有权限为0 */
    @Schema(description = "在线打印，有权限为1，没有权限为0")
    private Boolean onlinePrint;

    /** 下载，有权限为1，没有权限为0 */
    @Schema(description = "下载，有权限为1，没有权限为0")
    private Boolean download;

    /** 下载源文件，有权限为1，没有权限为0 */
    @Schema(description = "下载源文件，有权限为1，没有权限为0")
    private Boolean downloadSource;

    /** 现场借阅，有权限为1，没有权限为0 */
    @Schema(description = "现场借阅，有权限为1，没有权限为0")
    private Boolean liveRead;

    /** 外借，有权限为1，没有权限为0 */
    @Schema(description = "外借，有权限为1，没有权限为0")
    private Boolean lendOut;

    /** 复制外发，有权限为1，没有权限为0 */
    @Schema(description = "复制外发，有权限为1，没有权限为0")
    private Boolean copySend;

    /** 摘录，有权限为1，没有权限为0 */
    @Schema(description = "摘录，有权限为1，没有权限为0")
    private Boolean excerpt;

    /** 创建人 */
    @Schema(description = "创建人")
    private Long createBy;

    /** 创建时间 */
    @Schema(description = "创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新人 */
    @Schema(description = "更新人")
    private Long updateBy;

    /** 更新时间 */
    @Schema(description = "更新时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 删除状态(0-正常,1-已删除) */
    @Schema(description = "删除状态(0-正常,1-已删除)")
    private Boolean delFlag;


}
